/*
    buffer（缓冲区）
        -buffer的结构和数组很像，操作方法和数组也类似
        -数组中不能存储二进制文件
        -buffer是用来专门存储二进制文件的
        -使用buffer不需要引用模块，直接使用就可以
        -在buffer中存储的都是二进制数字，在计算机中二进制数据都是以十六进制显示的
            buffer中每一个元素的大小范围是00-ff
            buffer中一个元素占用内存的一个字节
    创建buffer
        buffer.from()将一个字符串转化为buffer
        例子：
            var a = "hello";
            var buf = Buffer.from(a);
            我们可以发现执行完之后buf中存储的内容是五个二进制数字。
            buf.length占用内存的长度（三个字节代表一个汉字）
            a.length字符串的长度
		new Buffer()创建一个指定大小的buffer
		例子：
			var buf2 = new Buffer(10);
			代表创建一个十个字节长度的buffer
			new Buffer()不推荐使用
		Buffer.alloc()创建一个指定大小的buffer
		例子：
			var buf2 = Buffer.alloc(10);
			代表创建一个十个字节长度的buffer
			可以通过索引来操作buf中的元素
			buf2[0]=88;
			你添加完成之后，系统会自动给你设置成十六进制的
			buf2[1]=0xaa;
			也可以直接写十六进制的
			buf2[10]=16;
			buffer的大小一旦确定就无法修改，buffer实际上就是对底层内存的直接操作
			buf2[2]=256;
			如果存一个超过255的数字，二进制八位之前的数字会被省略掉
			只要在控制台或者页面输出一定是十进制
		Buffer.allocUnsafe(size)创建一个指定大小的buffer，但是可能含有敏感数据
		例子：
			var buf3 = Buffer.allcoUnsafe(10);
			这个方法有可能有安全隐患，这个方法在创建空间时，不会清空本来就存在内存中的数据，
			而是直接传输给我们，之前的数据不会被销毁，所有可能存在安全隐患
	将缓冲区的数据修改成字符串
		Buffer.toString()可以将一个buffer类型转换成字符串
		例子：
			buf.toString()；
*/